import math
import random

print(math.gcd(3,6,12)) # 最大公因数：一个都能整除他们的数
print(4*6//math.gcd(4,6)) # lcm 最小公倍数：两者组成的最小一个数，这个数能整除这两个数
print(math.lcm(4,6))

a=pow(2,10,200+7)
print("pow函数，有三个参数，第三个位进行取模mod运算")

# 求平方根
print(math.sqrt(16),16**0.5)

# 计算一个数的自然对数，或者指定底数的对数。
num = 10
# 计算  自然对数,e为底
print(math.log(num))
# 计算以 2 为底的对数
print(math.log(num, 2))

# 阶乘函数，时间复杂度O（n！）
num = 5
print(math.factorial(num))  # 输出: 120


# random.random()
# 返回一个介于 0 到 1 之间的随机浮点数。
print(random.random())

# 返回一个指定范围内的随机整数。
print(random.randint(1, 10))

# comb 组合数，从n个数中取m个数的组合数  例如 5个数中取2个的组合数 c5 2 = 5*4/2=10
print(math.comb(5,2))
